home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / documents / RFC / rfc979.txt < prev    next >
Text File  |  1994-08-01  |  39KB  |  856 lines

  1.  
  2.  
  3. Network Working Group                                    Andrew G. Malis
  4. Request for Comments: 979                       BBN Communications Corp.
  5.                                                               March 1986
  6.  
  7.                 PSN END-TO-END FUNCTIONAL SPECIFICATION
  8.  
  9.  
  10. Status of this Memo
  11.  
  12.    This memo is an updated version of BBN Report 5775, "End-to-End
  13.    Functional Specification".  It has been updated to reflect changes
  14.    since that report was written, and is being distributed in this form
  15.    to provide information to the ARPA-Internet community about this
  16.    work.  The changes described in this memo will affect AHIP (1822
  17.    LH/DH/HDH) and X.25 hosts directly connected to BBNCC PSNs.
  18.    Information concerning the schedule for deployment of this version of
  19.    the PSN software (Release 7.0) in the ARPANET and the MILNET can be
  20.    obtained from DCA.  Distribution of this memo is unlimited.
  21.  
  22. 1  Introduction
  23.  
  24.    This memo contains the functional specification for the new BBNCC PSN
  25.    End-to-End (EE) protocol and module (PSN stands for Packet Switch
  26.    node, and has previously been known as the IMP).  The EE module is
  27.    that portion of the PSN code which is responsible for maintaining EE
  28.    connections that reliably deliver data across the network, and for
  29.    handling the packet level (level 3) interactions with the hosts.  The
  30.    EE protocol is the peer protocol used between EE modules to create,
  31.    maintain, and close connections. The new EE is being developed in
  32.    order to correct a number of deficiencies in the old EE, to improve
  33.    its performance and overall throughput, and to better equip the PSN
  34.    to support its current and anticipated host population.
  35.  
  36.    The initial version of the new EE is being fielded in PSN Release
  37.    7.0.  Both the old and new EEs are resident in the PSN code, and each
  38.    PSN may run either the old or the new EE (but not both) at any time,
  39.    under the control of the Network Operations Center (NOC).  The NOC
  40.    has facilities for switching individual PSNs or the entire network
  41.    between the old and new EEs.  When the old EE is running, PSN 7.0's
  42.    functionality is equivalent to that provided by PSN 6.0, and the
  43.    differences listed in this memo do not apply.  Hosts on PSNs running
  44.    the old EE cannot interoperate with hosts on PSNs running the new EE.
  45.  
  46.    There are two additional sections following this introduction.
  47.    Section two describes the motivation and goals driving the new EE
  48.    project.
  49.  
  50.    Section three contains the new EE's functional specification.  It
  51.    describes the services provided to the various types of hosts that
  52.  
  53.  
  54.  
  55.  
  56. Malis                                                           [Page 1]
  57.  
  58.  
  59.  
  60. RFC 979                                                       March 1986
  61. PSN End-to-End Functional Specification
  62.  
  63.  
  64.    are supported by the PSN, the addressing capabilities that it makes
  65.    available, the functionality required for the peer protocol, and the
  66.    performance goals for the new EE.
  67.  
  68.    Two notes concerning terminology are required.  Throughout this
  69.    document, the units of information sent from one host to another are
  70.    referred to as "messages", and the units into which these messages
  71.    are fragmented for transmission through the subnetwork are referred
  72.    to as "subnet packets" or just "packets".  This differs from X.25's
  73.    terminology; X.25 "packets" are actually messages.  Also, in this
  74.    report the term "AHIP" is used to refer to the ARPANET Host-IMP
  75.    Protocol described in BBN Report 1822, "Specifications for the
  76.    Interconnection of a Host and an IMP".
  77.  
  78. 2  Motivation
  79.  
  80.    The old EE was developed almost a decade ago, in the early days of
  81.    packet-switching technology.  This part of the PSN has remained
  82.    stable for eight years, while the environment within which the
  83.    technology operates has changed dramatically.  At the time the old EE
  84.    was developed, it was used in only one network, the ARPANET.  There
  85.    are now many PSN-based networks, some of which are grouped into
  86.    internets.  Originally, AHIP was the only host interface protocol,
  87.    with NCP above it.  The use of X.25 is now rapidly increasing, and
  88.    TCP/IP has replaced NCP.
  89.  
  90.    This section describes the needs for more flexibility and increases
  91.    in some of the limits of the old EE, and lists the goals which this
  92.    new design should meet.
  93.  
  94.    2.1  Benefits of a New EE
  95.  
  96.       Network growth and the changing network environment make improved
  97.       performance, in terms of increasing the PSN's throughput, an
  98.       important goal for the new EE.  The new EE reduces protocol
  99.       traffic overhead, thereby making more efficient use of network
  100.       line bandwidth and transit PSN processing power.
  101.  
  102.       The new EE provides a set of network transport services which are
  103.       appropriate for both the AHIP and X.25 host interfaces, unlike the
  104.       old EE, which is highly optimized for and tightly tied to the AHIP
  105.       host interface.
  106.  
  107.       The new EE has an adjustable window facility instead of the old
  108.       EE's fixed window of eight outstanding messages between any host
  109.       pair.  The old EE applies this limit to all traffic between a pair
  110.       of hosts; it has no notion of multiple independent channels or
  111.  
  112.  
  113. Malis                                                           [Page 2]
  114.  
  115.  
  116.  
  117. RFC 979                                                       March 1986
  118. PSN End-to-End Functional Specification
  119.  
  120.  
  121.       connections between two hosts, which the new EE allows.  A network
  122.       with satellite trunking, and consequently long delays, is an
  123.       example of where the new window facility increases the EE
  124.       throughput that can be attained.  TACs and gateways provide
  125.       another example where the old EE's fixed window limits throughput;
  126.       all of the traffic between a host and a TAC or a gateway currently
  127.       uses the same EE connection and is subject to the limit of eight
  128.       outstanding messages, even if more than one user's traffic flows
  129.       are involved.  With the new EE, this restriction no longer
  130.       applies.
  131.  
  132.       Supportability also motivates rewriting the EE software.  The new
  133.       EE can be written using more modern techniques of programming
  134.       practice, such as layering and modularity, which were not as well
  135.       understood when the old EE was first designed, and which will make
  136.       the EE easier to support and to enhance.
  137.  
  138.       Finally, the new EE includes a number of new features that improve
  139.       the PSN's ability to provide services which are more closely
  140.       optimized to what our customers need for their applications.
  141.       These include new addressing capabilities, precedence levels,
  142.       end-to-end data integrity checks, and monitoring and control
  143.       capabilities.
  144.  
  145.    2.2  Goals for the New EE
  146.  
  147.       The new EE's X.25 support is greatly improved over that provided
  148.       by the old EE.  One element of this improvement is at least
  149.       halving the amount of per-message EE protocol overhead.  Another
  150.       element is the unification of the different storage allocation
  151.       mechanisms used by the old EE and X.25 modules, where data
  152.       transferred between the old EE and X.25 must be copied from one
  153.       type of structure to the other.
  154.  
  155.       The new EE presents, as much as possible, a non-blocking interface
  156.       to the hosts.  If a host overwhelms the PSN with traffic, the PSN
  157.       ultimately has to block it, but this should happen less frequently
  158.       than at present.
  159.  
  160.       In the old EE, all of the hosts contend for the same pool of
  161.       resources.  In the new EE, fairness is enforced in resource
  162.       allocation among different hosts through per-host minimum
  163.       allocations for buffers and connection blocks as part of a general
  164.       buffer management system.  This insures that no host can be
  165.       completely "shut out" of service by the actions of another host at
  166.       its PSN.
  167.  
  168.  
  169.  
  170. Malis                                                           [Page 3]
  171.  
  172.  
  173.  
  174. RFC 979                                                       March 1986
  175. PSN End-to-End Functional Specification
  176.  
  177.  
  178.       The EE supports four precedence levels and optional (on a per-
  179.       network basis) preemption features.
  180.  
  181.       Addressing capabilities have been extended to include hunt groups.
  182.  
  183.       Instead of a fixed window of eight outstanding messages between
  184.       any host pair, the maximum window size on an EE connection is
  185.       configurable to a maximum of 127.  The EE allows host pairs to set
  186.       up multiple connections, each with an independent window.
  187.  
  188.       A result of the old EE's reliance on destination buffer
  189.       reservation is that subnet packets can be lost if an intermediate
  190.       node goes down.  The new EE uses source buffering with
  191.       retransmission in order to provide more reliable service.
  192.  
  193.       The new EE has a duplex peer protocol, allowing acknowledgments to
  194.       be piggybacked on reverse traffic to reduce protocol overhead.
  195.       When reverse traffic is not available, acknowledgments are
  196.       aggregated and sent together.
  197.  
  198.       The result of this development will be end-to-end software with
  199.       greater performance, supportability, and functionality.
  200.  
  201. 3  End-to-End Functionality
  202.  
  203.    This section contains the new EE's functional specification.  It
  204.    describes the services provided to the various types of hosts that
  205.    are supported by the new EE, the addressing capabilities that it
  206.    makes available, the functionality required for the peer protocol,
  207.    the performance goals for the new EE, the EE's network management
  208.    specification, and provisions for testing and debugging.
  209.  
  210.    3.1  Network Layer Services
  211.  
  212.       The most important part of designing any new system is determining
  213.       its external functionality.  In the case of the new EE, this is
  214.       the network layer services and interfaces presented to the hosts.
  215.  
  216.       3.1.1  Common Functionality
  217.  
  218.          The following three sections list details concerning the new
  219.          EE's support for the X.25, AHIP and Interoperable network layer
  220.          services.  In the interest of brevity, however, additional
  221.          functionality available to all three services is listed herein:
  222.  
  223.             o  In order to check data integrity as packets cross through
  224.                the network, the old EE relies on a trunk-level,
  225.  
  226.  
  227. Malis                                                           [Page 4]
  228.  
  229.  
  230.  
  231. RFC 979                                                       March 1986
  232. PSN End-to-End Functional Specification
  233.  
  234.  
  235.                hardware/ firmware-generated, per-packet CRC code (which
  236.                is either 16 or 24 bits in size, depending on the PSN-PSN
  237.                trunk protocol in use) and a software-generated
  238.                per-packet 16-bit checksum.  Neither of these are
  239.                end-to-end checks, only PSN-to-PSN checks.  For the new
  240.                EE, the software checksum has been extended to be an
  241.                optional 32-bit end-to-end checksum, and the per-packet
  242.                software checksum has been reduced to a parity bit.
  243.  
  244.                The network administration now has a choice as to which
  245.                is most important, efficient utilization of network
  246.                trunks (due to the reduced size of the per-packet
  247.                headers), or strong checks on data integrity.
  248.  
  249.                Those hosts that require strong data integrity checking
  250.                can request, in their configuration, that all messages
  251.                originating from this host include a 32-bit per-message
  252.                end-to-end checksum.  This checksum is computed in the
  253.                source PSN, is ignored by tandem PSNs along the path, and
  254.                is checked in the destination PSN.  If the checksum does
  255.                not check, the EE's regular source retransmission
  256.                facilities are used to have the message resent.
  257.  
  258.             o  The old EE's access control mechanism allows 15 separate
  259.                communities of interest to be defined, and uses an
  260.                unnecessarily complicated algorithm to define which
  261.                communities can intercommunicate.  This mechanism is
  262.                being expanded to allow 32 communities of interest,
  263.                rather than the previous limit of 15.  The feature that
  264.                allowed hosts to communicate with a community without
  265.                actually being a member of that community has been
  266.                removed because it was never utilized.
  267.  
  268.             o  The addressing capabilities of the PSN have been improved
  269.                by the new EE.  In addition to continuing to support the
  270.                old EE's logical addressing facility, hunt groups (for
  271.                both AHIP and X.25 hosts) have been added.  These are
  272.                described further in Section 3.2.
  273.  
  274.             o  Connection  block  preemption  is  supported on a
  275.                configurable per-network basis.  If a network is
  276.                configured to use  connection block preemption, then
  277.                lower-precedence connections can be closed by the  PSN,
  278.                if  necessary,  in  order  to  maintain  configured
  279.                reserves of PSN resources for higher-precedence
  280.                connections.
  281.  
  282.  
  283.  
  284. Malis                                                           [Page 5]
  285.  
  286.  
  287.  
  288. RFC 979                                                       March 1986
  289. PSN End-to-End Functional Specification
  290.  
  291.  
  292.             o  The new EE supports congestion control and improved
  293.                resource allocation policies which ensure fairness and
  294.                graceful degradation of service under extreme load.
  295.                Certain resources can be prereserved to each host port,
  296.                and each port can also be limited in its use of shared
  297.                resources.  This ensures that no host can be totally shut
  298.                out from PSN resources by the actions of other hosts at
  299.                the same PSN.  In addition, each PSN is sensitive to
  300.                congestion in both of the PSNs at the endpoints of each
  301.                connection, and it can exert backpressure (flow control)
  302.                on hosts, as necessary, to prevent congestion.
  303.  
  304.       3.1.2  X.25
  305.  
  306.          The new EE's X.25 service represents an improvement over the
  307.          X.25 service available from the old EE.  The following
  308.          paragraphs summarize the X.25 support in the new EE:
  309.  
  310.             o  The new EE provides both DDN Standard and Basic X.25
  311.                service, as described in BBN Reports 5476, "DDN X.25 Host
  312.                Interface Specification," and 5500, "C/30 PSN X.25
  313.                Interface Specification," respectively.  In addition, the
  314.                description of DDN Standard Service, Version 2, is found
  315.                in Section 3.1.4 of this document.
  316.  
  317.             o  All data packets and call requests are source-buffered in
  318.                the source PSN to provide a better level of reliability
  319.                for network traffic.  This should keep the network from
  320.                issuing a reset on an open connection as a result of a
  321.                lost packet in the subnet or any other occasional
  322.                subnetwork failure.  Except in cases of extreme network
  323.                or node congestion, recovery from lost subnet packets is
  324.                automatic and transparent to the end user or host.
  325.  
  326.             o  Both local and end-to-end significance for host window
  327.                advancement (based upon the D bit from the host) are
  328.                planned, but only end-to-end significance is included in
  329.                the initial release (the old EE did not include local
  330.                significance).  The D bit is passed through the network
  331.                transparently.
  332.  
  333.       3.1.3  AHIP
  334.  
  335.          Another service provided by the new EE is defined in BBN Report
  336.          1822, "Specifications for the Interconnection of a Host and an
  337.          IMP", as amended by Report 5506, "The ARPANET 1822L Host Access
  338.          Protocol".  This ARPANET Host-IMP Protocol (AHIP) service is
  339.  
  340.  
  341. Malis                                                           [Page 6]
  342.  
  343.  
  344.  
  345. RFC 979                                                       March 1986
  346. PSN End-to-End Functional Specification
  347.  
  348.  
  349.          supported in a backwards-compatible manner by the new EE; since
  350.          this is a BBNCC-private protocol, the new EE can improve the
  351.          service to better match its current uses (the AHIP protocol was
  352.          first designed over twelve years ago).  The main changes to
  353.          AHIP are to remove the absolute eight-message-in-flight
  354.          restriction for connection-based traffic, and to improve the
  355.          PSN's "datagram" support for non-connection-based traffic.
  356.  
  357.          For this new support, datagram service is planned (for PSN
  358.          Release 8.0) to include fragmentation and reassembly by the
  359.          network, but without requiring the network overhead used by
  360.          connections, and without the reliability, message sequencing,
  361.          and duplicate detection that connections provide.  However,
  362.          "destination dead" indications will be provided to the source
  363.          host where possible and appropriate.
  364.  
  365.          With the new EE, hosts are also able to create multiple
  366.          connections between host pairs by using the 8-bit "handling
  367.          type" field to specify up to 256 different connections.  The
  368.          field is divided into high-order bits that specify the
  369.          connection's precedence, and low-order bits that distinguish
  370.          between multiple connections at the same precedence level.
  371.          Since the new EE is using four precedence levels, the handling
  372.          type field is used to specify 64 different connections at each
  373.          of the four precedence levels.
  374.  
  375.          AHIP connections will continue to be implicitly created and
  376.          automatically torn down after a configurable period (nominally
  377.          three minutes) of inactivity, or because of connection block
  378.          contention.
  379.  
  380.          To summarize the new end-to-end's AHIP support:
  381.  
  382.             o  The old EE's AHIP services are supported in a
  383.                backwards-compatible manner (except where listed below).
  384.  
  385.             o  The old EE's uncontrolled (subtype 3) message service
  386.                will be replaced, in PSN Release 8.0, by the datagram
  387.                service mentioned above.  This service will provide
  388.                fragmentation and reassembly, so that there is no special
  389.                restriction on the size of datagrams; will not insure
  390.                that messages are delivered in order or unduplicated, or
  391.                provide a delivery confirmation; will notify the source
  392.                host if the destination host or PSN is dead; will not
  393.                require the connection block overhead associated with
  394.                connections; and may lose messages in the subnet, without
  395.                notification to the source host, in the event of subnet
  396.  
  397.  
  398. Malis                                                           [Page 7]
  399.  
  400.  
  401.  
  402. RFC 979                                                       March 1986
  403. PSN End-to-End Functional Specification
  404.  
  405.  
  406.                congestion or component failures.  This service could be
  407.                useful for applications that do not need the absolute
  408.                reliability or sequentiality of connections and therefore
  409.                wish to avoid their associated overhead.
  410.  
  411.                Datagrams are not supported by the new EE in PSN Release
  412.                7.0.
  413.  
  414.             o  Connections no longer have the old EE's "eight messages
  415.                in flight" restriction, and a pair of hosts can be
  416.                connected with up to 256 simultaneous implicit
  417.                connections.  In addition, multiple precedence levels are
  418.                supported.
  419.  
  420.             o  The new EE supports interoperability between AHIP and
  421.                X.25 hosts (see Section 3.1.4 for further details).
  422.  
  423.             o  AHIP local, distant, and HDH (both message and packet
  424.                mode) hosts are supported.  The new EE does not support
  425.                VDH hosts.  VHA and 32-bit leaders are supported.
  426.  
  427.             o  Packet-mode HDH has been extended to allow longer packet
  428.                data frames (see BBN Report 1822, Appendix J, for a
  429.                description of the HDH protocol).  Middle packet frames
  430.                can now contain up to 128 octets of data, rather than the
  431.                previous 126 (although there must still be an even number
  432.                of octets per frame).  Last packet frames can now contain
  433.                up to 127 octets of data, rather than the previous 125,
  434.                and the number of octets need not be even.  However, the
  435.                maximum total message size is still 1007 data octets. The
  436.                PSN uses these new packet frame size limits when sending
  437.                packet frames to packet-mode HDH hosts unless the host is
  438.                configured to allow only 126-octet frames.  In addition,
  439.                there are restrictions on packet-mode HDH when
  440.                interoperating with DDN Standard X.25 hosts; these
  441.                restrictions are discussed in Section 3.1.4.
  442.  
  443.       3.1.4  Interoperability (DDN Standard X.25)
  444.  
  445.          One of the main goals of the new EE is to provide
  446.          interoperability between AHIP and X.25 hosts.  On the surface,
  447.          this may appear difficult, since the two host access protocols
  448.          have little in common: X.25 presents a connection-oriented
  449.          interface with explicit windowing, while AHIP presents a
  450.          reliable datagram-oriented interface with implicit flow
  451.          control.  However, they both have the same underlying
  452.  
  453.  
  454.  
  455. Malis                                                           [Page 8]
  456.  
  457.  
  458.  
  459. RFC 979                                                       March 1986
  460. PSN End-to-End Functional Specification
  461.  
  462.  
  463.          functionality:  they allow the hosts to submit and receive
  464.          messages, and they both provide a reliable and sequenced
  465.          delivery service.
  466.  
  467.          The key to interoperability is the fact that in the new EE,
  468.          both X.25 and AHIP connections use the same underlying
  469.          protocols and constructs.  The new EE has AHIP and X.25 Level 3
  470.          modules that translate between the specific host protocols and
  471.          the EE mechanisms.  Since these Level 3 host modules share a
  472.          common interface with the EE, the fact that the two hosts on
  473.          either side of an EE connection are not using the same access
  474.          protocol is largely hidden.
  475.  
  476.          As a result, the new EE supports basic interoperability.
  477.          However, there are some special cases that need to be mapped
  478.          from one protocol to the other, or just not supported because
  479.          no mapping exists.  For example, AHIP has no analogue of X.25's
  480.          Interrupt packet, while X.25 does not support an unreliable
  481.          datagram service such as AHIP's subtype 3 messages.  For each
  482.          of these cases, the recommendations of BBN Report 5476, "DDN
  483.          X.25 Host Interface Specification," have been followed.
  484.  
  485.          The interoperable service provided by the new EE is called DDN
  486.          Standard Service, Version 2.  Standard Service, Version 1, is
  487.          defined in BBN Reports 5760, "Preliminary Interoperable
  488.          Software Design," and 5900 Revision 1, "Supplement to BBN
  489.          Report Nos. 5476 and 5760".
  490.  
  491.          The major differences between Versions 1 and 2 are:
  492.  
  493.             o  Version 2 offers improved performance over Version 1.
  494.  
  495.             o  The EE now provides four precedence levels.  Therefore,
  496.                the four precedence levels allowed in the DDN-private
  497.                Call Precedence Negotiation are mapped directly to subnet
  498.                precedence levels, instead of being collapsed into two
  499.                subnet precedence levels as in Version 1.
  500.  
  501.             o  On an interoperable connection, the X.25 protocol ID in
  502.                an X.25-originated message is translated to an AHIP link
  503.                number (the upper eight bits of the message-ID field)
  504.                using a lookup table.  Version 1 supports only the IP
  505.                protocol ID and corresponding link number of 155
  506.                (decimal).  Version 2 allows new values to be added to
  507.                the lookup table.  At present, IP is the only protocol
  508.                supported.  In addition, the AHIP link number is also
  509.                used to distinguish one connection from another.  This
  510.  
  511.  
  512. Malis                                                           [Page 9]
  513.  
  514.  
  515.  
  516. RFC 979                                                       March 1986
  517. PSN End-to-End Functional Specification
  518.  
  519.  
  520.                guarantees that when an AHIP host is sending messages to
  521.                an X.25 host, messages using different link numbers come
  522.                into the X.25 host on different X.25 connections.
  523.  
  524.             o  Since a "translation module" is no longer necessary in
  525.                the PSN, interoperable connections now have end-to-end
  526.                significance, with a direct correspondence between X.25
  527.                RRs and AHIP RFNMs.  This preserves the meaning of the
  528.                RFNM as defined in Report 1822.  Although Release 7.0
  529.                only offers end-to-end significance, the D bit is passed
  530.                transparently on Standard Service connections between two
  531.                X.25 hosts.
  532.  
  533.             o  Up to 256 simultaneous connections are supported between
  534.                host pairs that are using the same addresses and
  535.                precedence levels.  Version 1 only supported one such
  536.                connection.
  537.  
  538.          The following Version 1 services are not offered by Version 2:
  539.  
  540.             o  Permanent Virtual Circuits.
  541.  
  542.             o  X.25 protocol bypass (a BBN-private service).
  543.  
  544.          A number of items in Report 5760 were the subject of some
  545.          discussion, and three of them need to be specifically mentioned
  546.          here.  First, for DDN Standard Service, Version 1,
  547.          acknowledgments have local significance only, and the D bit
  548.          must be set to 0 in the call request.  In DDN Standard Service,
  549.          Version 2, only end-to-end significance is being provided, as
  550.          was mentioned above.  For backwards compatibility with Version
  551.          1, the D bit can be set to 0 or 1 in a call, but hosts are
  552.          advised that only end-to-end significance is provided in
  553.          Version 2.
  554.  
  555.          Second, non-standard Default Precedence is not supported by
  556.          either Standard Service Version 1 or Version 2.  Support for
  557.          this facility in Version 1 was withdrawn at the request of DCA.
  558.  
  559.          Third, although DTEs are allowed to request maximum packet
  560.          sizes of 16, 32, and 64 octets, the DCE always negotiates up to
  561.          128 octets, as per Section 6.12 ("Flow Control Parameter
  562.          Negotiation") of the CCITT 1984 X.25 Recommendation.  This is
  563.          true of both Version 1 and Version 2.  Since IP and TCP are
  564.          required when Standard Service is in use, this is a reasonable
  565.          restriction (due to the length of IP and TCP headers).
  566.  
  567.  
  568.  
  569. Malis                                                          [Page 10]
  570.  
  571.  
  572.  
  573. RFC 979                                                       March 1986
  574. PSN End-to-End Functional Specification
  575.  
  576.  
  577.          One issue must be raised concerning interoperability between
  578.          X.25 and packet-mode HDH hosts.  In order to efficiently
  579.          interoperate, packet-mode HDH hosts should completely fill
  580.          their middle packet frames with 128 octets of data.
  581.          Packet-mode HDH hosts that send or require receiving middle
  582.          packet frames with less than 128 octets of data can still
  583.          interoperate with X.25 hosts, but at a greater expense of PSN
  584.          CPU resources per message.
  585.  
  586.    3.2  Addressing
  587.  
  588.       The old EE supports, for both AHIP and X.25 hosts, two forms of
  589.       host addressing, physical and logical.
  590.  
  591.       Physical addressing consists of identifying a host port by the
  592.       combination of its PSN number and the port number on that PSN.
  593.       Logical addressing allows an arbitrary 16-bit "name" to refer to a
  594.       list of one or more host ports.  The EE tries to open a connection
  595.       to one of the ports in the list according to the criterion chosen
  596.       for that name: first reachable in the ordered list, closest port
  597.       (in terms of routing delay), or round-robin load sharing.
  598.  
  599.       For the new EE, logical addressing is supported on an explicit
  600.       per-connection basis: all logical-to-physical address translations
  601.       take place in the source PSN when a connection is established.
  602.       Once this translation has occurred, all data messages on the
  603.       connection are sent to the same physical address.
  604.  
  605.       In addition, hunt groups are also now supported for both X.25 and
  606.       AHIP hosts.  This new capability allows host ports on a
  607.       destination PSN to be combined into a "hunt group".  The ports
  608.       share the same group identifier, and incoming connections are
  609.       evenly spread over the ports in the group.  This differs from
  610.       logical addressing's load sharing, where all name translations
  611.       take place in the source PSN, the different ports can be on any
  612.       number of PSNs, and the load sharing is on a per-source-PSN basis.
  613.       By contrast, all of the host ports in a hunt group are on the same
  614.       PSN, the group-to-port resolution takes place in the destination
  615.       PSN, and the load sharing of incoming connections can be
  616.       guaranteed over the ports by the destination PSN.  For X.25, hunt
  617.       groups comply with Section 6.24 of the 1984 X.25 Recommendation.
  618.       Note that Called Line Address Modification is not supported.
  619.  
  620.  
  621.  
  622.  
  623.  
  624.  
  625.  
  626. Malis                                                          [Page 11]
  627.  
  628.  
  629.  
  630. RFC 979                                                       March 1986
  631. PSN End-to-End Functional Specification
  632.  
  633.  
  634.    3.3  Protocol Functionality
  635.  
  636.       The EE peer protocol runs between EE modules in PSNs on either end
  637.       of an EE connection.  This protocol and its mechanisms have to
  638.       perform the following functions:
  639.  
  640.          o  Provide full duplex connections (the old EE provides simplex
  641.             connections, and any two-way traffic, such as that generated
  642.             by TCP, requires two subnet connections).
  643.  
  644.          o  Open a connection and optionally send a full message's worth
  645.             of data as a part of the open request (the old EE requires a
  646.             separate opening sequence in each direction before data can
  647.             flow).
  648.  
  649.          o  Reliably send connection-oriented messages, properly
  650.             fragmented/reassembled and sequenced.
  651.  
  652.          o  Close (clear) a connection (normally, or in a "clean-up"
  653.             mode after a host or PSN dies).
  654.  
  655.          o  Reset a connection (like the X.25 reset procedure).
  656.  
  657.          o  Be able to send a limited amount of out-of-band traffic
  658.             associated with a connection (like the X.25 interrupt).
  659.  
  660.          o  Use source buffering with message retransmission (after a
  661.             timeout) to insure delivery (the old EE depends on
  662.             destination buffer preallocation, which adds protocol
  663.             overhead and cannot recover from lost packets in the
  664.             subnet).
  665.  
  666.          o  Use an internal connection window of up to 127 messages.
  667.  
  668.          o  Support two types of ACKs, Internal ACKs (IACKs) and
  669.             External ACKs (EACKs), which are further described following
  670.             this list
  671.  
  672.          o  Have an inactivity timer for each connection.  For AHIP and
  673.             Standard X.25, the connection is closed if the timer fires.
  674.             For Basic X.25, the EE uses an internal Hello/I-Heard-You
  675.             sequence with the PSN on the other end of the connection to
  676.             check if the other end's host or PSN is still alive.  If
  677.             not, then the connection is closed.
  678.  
  679.          o  Be able to gracefully handle resource shortages and avoid
  680.             reassembly lockup problems.
  681.  
  682.  
  683. Malis                                                          [Page 12]
  684.  
  685.  
  686.  
  687. RFC 979                                                       March 1986
  688. PSN End-to-End Functional Specification
  689.  
  690.  
  691.       As mentioned above, the protocol supports two types of
  692.       acknowledgments, IACKs and EACKs.  Both types of ACKs apply to
  693.       messages only; individual packets are not acknowledged.  Since
  694.       windowing is being used, an individual ACK can be used to
  695.       acknowledge more than one message.
  696.  
  697.       IACKs are used to cancel the retransmission timer and free source
  698.       buffering, and are sent when a message has been completely
  699.       reassembled and delivered from the EE to either the AHIP or X.25
  700.       level 3 module.  This allows the EE to avoid unnecessary message
  701.       retransmissions, and speeds up the process of freeing source
  702.       buffering when destination hosts are slow to accept messages or,
  703.       in the case of X.25, slow to advance the PSN's window to the
  704.       destination (X.25 does not specify any time limit for a host to
  705.       acknowledge that it received a message).
  706.  
  707.       EACKs are used to advance the end-to-end window and to cause one
  708.       or more end-to-end X.25 RRs or AHIP RFNMs to be sent to the source
  709.       host.  An EACK is sent when an X.25 host acknowledges a message or
  710.       when an AHIP host actually receives it.
  711.  
  712.       Both types of ACKs are piggybacked, if possible, on reverse
  713.       traffic to the source PSN (for any connection).  Whenever a packet
  714.       is sent to another PSN, it is filled to the maximum allowed
  715.       subnetwork packet size with any outstanding ACKs that may be
  716.       waiting to be sent to that PSN.  After a configurable period, all
  717.       outstanding ACKs for the same PSN are aggregated together and
  718.       sent.  In addition, succeeding ACKs for the same connection can be
  719.       combined into one, and EACKs can be used to imply that a message
  720.       is being IACKed as well (if the destination host is speedy enough
  721.       when receiving or acknowledging messages to allow IACKs and EACKs
  722.       to be combined).
  723.  
  724.       This ACK aggregation timer interacts with the source buffering
  725.       retransmission timer in the following manner:  whenever a message
  726.       is sent from a host on one PSN to a host on a second PSN, an IACK
  727.       is sent back to the first PSN when the message has been completely
  728.       reassembled by the destination EE, and an EACK is sent when it has
  729.       been delivered (and perhaps ACKed) by the destination host.  The
  730.       IACK must make it back to the source PSN within the limits of the
  731.       retransmission timer, or unnecessary retransmissions could be sent
  732.       across the network.  This limits the ACK aggregation timer to
  733.       being shorter than the source buffering retransmission timer.
  734.  
  735.       If the destination host is quick enough when accepting traffic
  736.       from its PSN (with respect to the ACK aggregation timer), then the
  737.       EACK can be combined with the IACK, and only the EACK would be
  738.  
  739.  
  740. Malis                                                          [Page 13]
  741.  
  742.  
  743.  
  744. RFC 979                                                       March 1986
  745. PSN End-to-End Functional Specification
  746.  
  747.  
  748.       sent.  If the destination host is even quicker, multiple IACKs and
  749.       EACKs could be combined into one EACK.  In the best case, if there
  750.       is a steady stream of traffic going between the two PSNs in both
  751.       directions (but not necessarily over the same connection or even
  752.       between the same pairs of hosts in each direction), then all of
  753.       the IACKs and EACKs could be piggybacked on data packets and cause
  754.       no additional network packets other than the data packets already
  755.       required to send the data messages across the network. In the
  756.       worst case, however, such as when there is only a one-way flow
  757.       from a source PSN to a destination PSN and the destination host is
  758.       very slow to accept the messages from the network, then each data
  759.       message could result in separate IACKs and EACKs being sent back
  760.       to the source PSN in individual packets.  However, even though the
  761.       IACKs may cause additional packets to cross the network, they are
  762.       still less expensive than the source retransmissions that they are
  763.       used to prevent, and they also serve to free up valuable source
  764.       buffering space.
  765.  
  766.    3.4  Performance and Capacity Goals
  767.  
  768.       Performance and capacity goals for the new EE include:
  769.  
  770.          o  Throughput:  The AHIP host-host and host-trunk maximum
  771.             throughput (in packets/second) will be at least as good as
  772.             at present, and should improve for those situations that
  773.             currently entail traffic limitations based upon the old EE's
  774.             underlying protocol.  The current X.25 intrasite host-host
  775.             and host-trunk throughput will each improve by at least 50%.
  776.             The store-and-forward throughput for the new EE's X.25-based
  777.             traffic will improve by at least 100%.
  778.  
  779.          o  Connections:  The new EE will support at least 500
  780.             simultaneous connections per PSN, and will be able to handle
  781.             at least 50% more call setups per second than at present.
  782.  
  783.          o  Buffering:  The EE will have at least 400 packet buffers
  784.             available to source-buffer and/or reassemble messages.
  785.  
  786.          o  Network size:  The EE protocol and module will use data
  787.             structure and message field sizes sufficient to support at
  788.             least up to 255 hosts per PSN and 1023 PSNs per network
  789.             (however, other PSN protocols and modules presently
  790.             constrain these figures to 63 hosts per PSN and 253 PSNs per
  791.             network).
  792.  
  793.          o  Other:  The EE will support four message precedence levels
  794.  
  795.  
  796.  
  797. Malis                                                          [Page 14]
  798.  
  799.  
  800.  
  801. RFC 979                                                       March 1986
  802. PSN End-to-End Functional Specification
  803.  
  804.  
  805.             and a maximum message length of 1024 bytes.  For logical
  806.             addressing, the EE will support at least 1024 logical names
  807.             and at least 2048 address mappings per network.
  808.  
  809.  
  810.  
  811.  
  812.  
  813.  
  814.  
  815.  
  816.  
  817.  
  818.  
  819.  
  820.  
  821.  
  822.  
  823.  
  824.  
  825.  
  826.  
  827.  
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854. Malis                                                          [Page 15]
  855.  
  856.